package com.foreknow.Collection;

import java.util.ArrayList;
import java.util.Collection;

/**
 * 关于java.util.Collection接口中常用的方法
 * 1.Collection中能存放什么元素？
 *      没有使用泛型之前，Collection中可以存储Object的所有子类型
 *      使用泛型之后，Collection中只能存储某个具体的类型
 *      集合后期学习泛型，Collection中什么都能存，只要是Object的的子类型就行(集合中不能存储基本数据类型，也不能存储java对象，
 *      只是存储java对象的内存地址（也就是引用）)
 * 2.Collection的中的常用方法
 *      2.1 boolean add(Object e) 向集合中添加元素
 *      2.2 int size()获取集合中元素的个数
 *      2.3 void clear()清空集合
 *      2.4 boolean contains（Object o)判断当前集合中是否包含元素O，包含返回true，不包含返回false
 *      2.5 boolean remove(Object o)删除集合中某个元素
 *      2.6 isEmpty 判断该集合中元素的个数是否为0
 *      2.7 Object[] toArray可以将集合中的元素转换为数组
 */
public class CollectionDemo01 {
    public static void main(String[] args) {
//        创建一个集合对象,接口是抽象的，无法实例化
//        Collection collection = new Collections();
        //多态
        Collection collection = new ArrayList();

        //测试Collection中常用的方法
        collection.add(1200);//自动装箱，实际上是放进去了一个对象的内存地址。 Integer x = new Integer(1200);
        collection.add(3.14);//
        collection.add(new Object());

        //获取集合中元素的个数
        System.out.println("集合中元素的个数"+collection.size());

        //清空集合
        collection.clear();
        System.out.println("集合中元素的个数"+collection.size());

        //再向集合中添加元素
        collection.add("hello");//"hello word"的内存地址存到了集合当中
        collection.add("word");
        collection.add("浩克");
        collection.add("绿巨人");
        collection.add(collection);

        //判断集合中是否包含绿巨人
        boolean flag = collection.contains("绿巨人");//返回值是true   或者   false
        System.out.println(flag);

        //删除集合中某个元素
        collection.remove(collection);
        System.out.println(collection.contains(collection));

        //判断集合中元素的个数师是否为0
        System.out.println(collection.isEmpty());//false
        collection.clear();
        System.out.println(collection.isEmpty());//true

        //将集合中的元素转换为数组
        collection.add("abc");
        collection.add(100);
        collection.add("hello word");
        //转换成数组不常用
        Object[] objs=  collection.toArray();
        for (int i =0 ;i <objs.length;i++){
            //遍历对象数组，因为这是一个对象数组，所以需要一个对象来接收。
            Object o = objs[i];
            System.out.println(o);
        }



    }
}
